Condition Task

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) কন্ডিশনাল বিল্ড এবং লজিক কন্ট্রোল |
229
229

Apache ANT-এর condition task একটি শক্তিশালী টুল, যা শর্তাধীন বিবৃতি (conditional statements) বা পরীক্ষা চালানোর জন্য ব্যবহৃত হয়। এটি নির্দিষ্ট শর্ত অনুযায়ী টাস্কগুলি চালানো বা বাদ দেওয়ার জন্য ব্যবহৃত হয়। condition task এর মাধ্যমে আপনি নির্দিষ্ট শর্ত পূর্ণ হলে বা না হলে বিল্ড টাস্কগুলি চালানোর জন্য লজিক্যাল অপারেশন বা পরীক্ষা করতে পারেন।

condition Task এর ব্যবহার:

condition task মূলত শর্ত বা পরীক্ষা চালায় এবং ফলস্বরূপ একটি পরিবর্তনশীল (property) সেট করে যা পরে অন্য টাস্কগুলিতে ব্যবহৃত হতে পারে। এটি বিভিন্ন ধরণের শর্ত পরীক্ষা করতে ব্যবহৃত হতে পারে, যেমন:

  • ফাইল বা ডিরেক্টরি অস্তিত্ব পরীক্ষা।
  • একটি ভেরিয়েবলের মান পরীক্ষা।
  • একটি কাস্টম কমান্ড বা স্ক্রিপ্টের আউটপুট পরীক্ষা।

condition Task এর ধরন:

ANT-এ condition task এর বিভিন্ন ধরন রয়েছে, যা নিম্নরূপ:

  1. available - একটি ফাইল বা ডিরেক্টরি আছে কিনা পরীক্ষা করে।
  2. if / unless - শর্ত অনুযায়ী টাস্ক চালানো।
  3. macrodef - কাস্টম মাক্রো তৈরি করা, যা পুনরায় ব্যবহারযোগ্য কোড ব্লক তৈরির জন্য ব্যবহৃত হয়।
  4. echo - নির্দিষ্ট বার্তা প্রিন্ট করা শর্তাধীনভাবে।
  5. and, or, not - লজিক্যাল অপারেটর ব্যবহার করে শর্ত পরীক্ষার জন্য।

available Task:

available task দিয়ে একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি আছে কিনা পরীক্ষা করা হয় এবং এটি একটি প্রপার্টি সেট করে।

উদাহরণ:

<project name="Condition Example" default="check-file">

    <target name="check-file">
        <!-- available task ব্যবহার করে ফাইল চেক করা -->
        <available file="src/SomeFile.java" property="file.exists"/>

        <!-- যদি ফাইলটি থাকে, তবে এটি প্রিন্ট করবে -->
        <echo message="The file exists!" if="file.exists"/>
        <!-- যদি ফাইলটি না থাকে, তাহলে অন্য বার্তা প্রিন্ট করবে -->
        <echo message="The file does not exist!" unless="file.exists"/>
    </target>

</project>

এখানে, available task ফাইলটির উপস্থিতি পরীক্ষা করে এবং এর ফলাফল অনুযায়ী file.exists প্রপার্টি সেট করে। এরপর, if এবং unless টাস্ক ব্যবহার করে শর্ত অনুযায়ী বার্তা প্রিন্ট করা হয়েছে।


if / unless Task:

if এবং unless টাস্ক ব্যবহার করে আপনি শর্ত অনুযায়ী টাস্ক চালাতে পারেন। এগুলি মূলত একটি প্রপার্টির মান পরীক্ষা করে।

উদাহরণ:

<project name="Condition Example" default="conditional-task">

    <target name="conditional-task">
        <!-- প্রপার্টি চেক করা -->
        <condition property="compile" value="true">
            <isset property="source.dir"/>
        </condition>

        <!-- যদি প্রপার্টি compile সেট করা থাকে, তবে কম্পাইল টাস্ক চালান -->
        <echo message="Compiling the project..." if="compile"/>
    </target>

</project>

এখানে, isset ব্যবহার করে একটি প্রপার্টির উপস্থিতি পরীক্ষা করা হয়েছে। যদি source.dir প্রপার্টি সেট করা থাকে, তবে compile প্রপার্টি true হবে এবং echo টাস্ক চালানো হবে।


macrodef Task:

macrodef টাস্ক ব্যবহার করে আপনি কাস্টম মাক্রো বা কোড ব্লক তৈরি করতে পারেন যা পুনরায় ব্যবহারযোগ্য। এই মাক্রোটি শর্ত অনুযায়ী ব্যবহার করা যেতে পারে।

উদাহরণ:

<project name="Condition Example" default="execute-macro">

    <target name="execute-macro">
        <!-- macrodef তৈরি -->
        <macrodef name="sayHello">
            <attribute name="name"/>
            <sequential>
                <echo message="Hello, ${name}!"/>
            </sequential>
        </macrodef>

        <!-- মাক্রোটি শর্তানুযায়ী কল করা -->
        <sayHello name="John" if="greeting.required"/>
    </target>

</project>

এখানে, sayHello নামক একটি কাস্টম মাক্রো তৈরি করা হয়েছে যা একটি name অ্যাট্রিবিউট নেয় এবং সেই অনুযায়ী একটি মেসেজ প্রিন্ট করে। শর্তাধীনভাবে মাক্রোটি কল করা হয়েছে, যদি greeting.required প্রপার্টি সেট করা থাকে।


echo Task:

echo টাস্ক সাধারণত বার্তা প্রিন্ট করার জন্য ব্যবহৃত হয়। এটি শর্তের উপর ভিত্তি করে বার্তা প্রিন্ট করতে পারে।

উদাহরণ:

<project name="Condition Example" default="echo-message">

    <target name="echo-message">
        <!-- শর্তানুযায়ী মেসেজ প্রিন্ট করা -->
        <echo message="This is a test message" if="test.condition"/>
        <echo message="Test condition not met" unless="test.condition"/>
    </target>

</project>

এখানে, echo টাস্ক ব্যবহার করে শর্তানুযায়ী বার্তা প্রিন্ট করা হচ্ছে।


and / or / not Task:

এগুলি লজিক্যাল অপারেটর যা শর্তগুলির মধ্যে যুক্তি পরীক্ষা করতে ব্যবহৃত হয়।

উদাহরণ:

<project name="Condition Example" default="logical-operations">

    <target name="logical-operations">
        <condition property="allTestsPassed">
            <and>
                <isset property="test1.passed"/>
                <isset property="test2.passed"/>
            </and>
        </condition>

        <echo message="All tests passed!" if="allTestsPassed"/>
    </target>

</project>

এখানে, and অপারেটর ব্যবহার করে দুটি শর্ত পরীক্ষা করা হয়েছে (যেমন test1.passed এবং test2.passed)। যদি উভয় শর্তই পূর্ণ হয়, তাহলে allTestsPassed প্রপার্টি সেট হবে এবং একটি বার্তা প্রিন্ট হবে।


সারমর্ম:

  • condition task ANT-এ শর্তাধীন কার্যকলাপ পরিচালনা করতে ব্যবহৃত হয়।
  • এটি বিভিন্ন শর্ত পরীক্ষা করতে পারে, যেমন ফাইলের অস্তিত্ব, প্রপার্টি সেট হওয়া, এবং লজিক্যাল পরীক্ষা।
  • available, if, unless, macrodef, এবং লজিক্যাল অপারেটর (যেমন and, or, not) সহ বিভিন্ন উপাদান ব্যবহার করে শর্তাধীন টাস্কগুলি পরিচালনা করা যায়।
  • ANT-এর এই শর্তাধীন ফিচারগুলি বিল্ড প্রক্রিয়াকে আরও নমনীয় এবং কার্যকর করতে সাহায্য করে।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion